1. Field of the Invention
The present invention relates to an image forming apparatus and an image forming method for performing a banding process. More specifically, the present invention relates to an image forming apparatus and an image forming method for enhancing an output throughput by controlling allocation of a memory that holds rendered data.
2. Description of the Related Art
In the field of page printers that receive print data from a host computer and that output images in units of pages, a banding process is generally performed.
The banding process is the following process. A rendering area of one page is divided into a plurality of rectangular areas (bands), and a rendering process is performed on one of the bands. Then, outputting of that band and rendering on the next band are simultaneously performed. This process is repeated a number of times corresponding to the number of bands, whereby an output of one page is obtained.
In the banding process, at least two memories (rendering memory and output memory) capable of holding rendered data of one band are sufficient, thereby shortening the time until first printing.
Under typical operation due to its printing mechanism, such an image forming apparatus does not stop outputting at the middle of a page. In a case where there is a band that requires excessive time for rendering, output of that band can be started only after the rendering of the band has been completed, even when output of the preceding band ends. This causes an error called an overrun. Hitherto, a pre-rendering process has been performed to prevent such an overrun.
In the pre-rendering process, a rendering time of each band is calculated and is compared with an output time, and a band that is estimated to cause overrun is extracted.
On such a band, a rendering process is performed prior to output, so that overrun is prevented.
However, the pre-rendering process causes the time until first printing to become longer, which decreases a favorable output throughput. Furthermore, a memory for storing a pre-rendered band is necessary.